Play-dl
A light-weight YouTube, SoundCloud, Spotify and Deezer streaming and searching library.
- Search by video, playlist/album, channel/artist
- Stream audio from YouTube and SoundCloud
Why play-dl ?
ytdl-core has some issues with miniget and also stream abort issues. On the other hand, youtube-dl is a perfect alternative but it takes time to launch. Hence, play-dl is created to avoid these issues along with providing comparatively faster performance than others.

Support
You can contact us for support on our chat server.
Installation
Node.js 16.0.0 or newer is required.
npm install play-dl@latest
pnpm add play-dl@latest
yarn add play-dl@latest
Importing
TypeScript:
import play from 'play-dl';
import { video_basic_info, stream } from 'play-dl';
CommonJS modules:
const play = require('play-dl');
const { video_basic_info, stream } = require('play-dl');
ES6 modules:
import play from 'play-dl';
import { video_basic_info, stream } from 'play-dl';
Compatibility issues - discord-player
Because discord-player doesn't work with raw opus packets you need to enable the compatibility mode in play-dl
, if you want to use both frameworks together.
-
To fix the playback of YouTube videos with discord-player
, you can disable some of play-dl's optimisations and fixes by setting the discordPlayerCompatibility
option for stream
and stream_from_info
to true
-
The discordPlayerCompatiblity
option might break the playback of long YouTube videos.
-
Even with the discordPlayerCompatibility
option set you will not be able to use the seek option for stream
and stream_from_info
.